Multimedia content may be accessed through any number of diverse networks and terminals. Networks over which multimedia content may be delivered include telephone lines, wireless networks, and high-speed optical fibers. For example, a user may request, and receive, multimedia content from a server on the Internet.
Users may use a variety of terminals to access such multimedia content, ranging from handheld devices to high definition workstations. Users generally access networks using various devices capable of delivering content in a variety of formats. Faced with variations in the types of content that may be transmitted or received by a user, a rigid media representation format, producing decompressed content only at a fixed resolution and quality, presents various limitations. For instance, certain users may be unable to receive certain content, or may receive poor quality and resolution data due to the limitations of their network connections and accessing devices. In addition, the inability to provide content in formats compatible with new devices has somewhat inhibited the growth of new rich media and the devices on which they are used, because such rich content can be used only by high-end devices.
One technique for providing media content to users having a variety of capabilities and preferences is to provide multiple versions of the media that are suited to a variety of capabilities and preferences. While this approach works with delivery models where the recipient directly connects to the media originator, significant redundancy and inefficiency may be introduced for any other scenario, leading to wasted bandwidth and storage. Redundancies and inefficiencies are particularly problematic when catering to a large consumer base, thereby mandating maintenance of numerous versions of similar content.
Another technique is the use of generalized scalable bit-streams. A generalized scalable bit-stream often scales simultaneously along multiple logical dimensions. For such bit-streams, adaptation primarily consists of deleting bit-stream segments followed by other minor editing operations conducted on fixed length fields. Generalized scalable bit-streams can typically accommodate a variety of users by automatically addressing a given user's computing power and connection speed. One example of a generalized scalable bit-stream is JPEG2000, which is a scalable standard for still images that seeks to combine various types of scalability including image quality scalability and image resolution scalability in a format specific to the universal JPEG2000 compressed data. The use of JPEG2000 generally enables distribution and viewing of images of various qualities and resolutions using various connections and devices.
Various types of bit-stream scalability can be devised depending on the type of media content addressed. For example, signal-to-noise ratio (“SNR” or quality) scalability refers to progressively increasing quality as more and more of the bit-stream is included, and applies to most types of media. Resolution scalability refers to fineness of spatial data sampling, and applies to visual media such as images, video, and 3D images. Temporal scalability refers to fineness of sampling in the time-domain, and applies to video and other image sequences. Certain scalability pertains solely to audio, such as number of channels and sampling frequency. Different types of scalability can co-exist, so as to provide a range of adaptation choices.
Security is generally a concern in transmitting data over networks. For generalized scalable bit-streams, security issues present problems because the generalized scalable bit-streams are typically adapted to cater to the format or other constraints of receiving terminals before being transmitted to the receiving terminals. Thus, conventional methods, such as stream ciphers or cipher block chaining, applied to the bit-stream as a whole will not work for generalized scalable bit-streams because these bit-streams are typically adapted in the encrypted domain. If bit-stream segments are deleted during the adaptation, a receiving terminal may not be able to decrypt the bit-stream.
Another approach to encryption of generalized scalable bit-streams is to encrypt each atom or logical unit, defined as the smallest logical denomination in multi-dimensional scalability, independently. However, this would require the initialization vector of the encryption to be transmitted for each atom rather than each transmission unit. Encrypting each atom would be less efficient than encrypting a transmission unit, and would not be desirable from a security perspective since decryption for each atom can be conducted independently. Thus, encrypting each atom independently would provide more clues to a potential attacker to crack the block cipher, and would enable the potential attacker to work on atoms independently.
It would thus be desirable to provide a more secure method for transmitting generalized scalable bit-streams.